package com.bango.flex{
	public class BangoProfile{	
		
		private var _profileId:Number;   
		
		private var _SDKType:Number;                          
		private var _SDKVersion:String;                       
		private var _ApplicationId:String;                    
		private var _ApplicationType:String;                  
		private var _ApplicationChannel:String;               
		private var _ApplicationVersion:String;               
		private var _UserId:String;                           
		private var _ConnectionType:String;                   
		private var _IsRoaming:Boolean;                       
		private var	_LocationSource:String;                   
		private var	_LocationAltitude:Number;                 
		private var	_LocationLatitude:Number;                 
		private var	_LocationLongitude:Number;                
		private var _LocationAccuracy:Number;                 
		private var	_Operator:String;                         
		private var _OperatorName:String;                     
		private var	_CountryISO:String;               
		private var	_DeviceBrand:String;                            
		private var	_DeviceMake:String;                           
		private var	_DeviceModel:String;                            
		private var	_Product:String                           
		private var	_OperatingSystem:String;                            
		private var	_OperatingSystemVersion:String;               
		private var _SessionRestartTime:Number;                            
		private var	_DeviceVersion:String;                          
		private var _OperatorConnectionType:String;    
		private var	_SIM:String;
		
		private var _Events:Array = new Array();

		public function BangoProfile(pSDKType:Number,pSDKVersion:String,pApplicationId:String,pApplicationType:String,pApplicationChannel:String,pApplicationVersion:String,pUserId:String,pConnectionType:String,pIsRoaming:String,pLocationSource:String,pLocationAltitude:Number,pLocationLatitude:Number,pLocationLongitude:Number,pLocationAccuracy:Number,pOperator:String,pOperatorName:String,pCountryISO:String,pDeviceBrand:String,pDeviceMake:String,pDeviceModel:String,pProduct:String,pOperatingSystem:String,pOperatingSystemVersion:String,pDeviceVersion:String,pOperatorConnectionType:String,pSIM:String){
			_SDKType=pSDKType;
			_SDKVersion=pSDKVersion;
			_ApplicationId=pApplicationId;
			_ApplicationType=pApplicationType;
			_ApplicationChannel=pApplicationChannel;
			_ApplicationVersion=pApplicationVersion;
			_UserId=pUserId;
			_ConnectionType=pConnectionType;
			_IsRoaming=pIsRoaming as Boolean;
			_LocationSource=pLocationSource;
			_LocationAltitude=pLocationAltitude;
			_LocationLatitude=pLocationLatitude;
			_LocationLongitude=pLocationLongitude;
			_LocationAccuracy=pLocationAccuracy;
			_Operator=pOperator;
			_OperatorName=pOperatorName;
			_CountryISO=pCountryISO;
			_DeviceBrand=pDeviceBrand;
			_DeviceMake=pDeviceMake;
			_DeviceModel=pDeviceModel;
			_Product=pProduct;
			_OperatingSystem=pOperatingSystem;
			_OperatingSystemVersion=pOperatingSystemVersion;
			_DeviceVersion=pDeviceVersion;
			_OperatorConnectionType=pOperatorConnectionType;
			_SIM=pSIM;
			_SessionRestartTime = 10;
		}

		public function get OperatingSystem():String
		{
			return _OperatingSystem;
		}

		public function set OperatingSystem(value:String):void
		{
			_OperatingSystem = value;
		}

		public function get SessionRestartTime():Number
		{
			return _SessionRestartTime;
		}

		public function set SessionRestartTime(value:Number):void
		{
			_SessionRestartTime = value;
		}

		public function getProfileId():Number
		{
			return _profileId;
		}

		public function setProfileId(value:Number):void
		{
			_profileId = value;
		}

		public function get SDKType():Number
		{
			return _SDKType;
		}

		public function set SDKType(value:Number):void
		{
			_SDKType = value;
		}

		public function get SDKVersion():String
		{
			return _SDKVersion;
		}

		public function set SDKVersion(value:String):void
		{
			_SDKVersion = value;
		}

		public function get ApplicationId():String
		{
			return _ApplicationId;
		}

		public function set ApplicationId(value:String):void
		{
			_ApplicationId = value;
		}

		public function get ApplicationType():String
		{
			return _ApplicationType;
		}

		public function set ApplicationType(value:String):void
		{
			_ApplicationType = value;
		}

		public function get ApplicationChannel():String
		{
			return _ApplicationChannel;
		}

		public function set ApplicationChannel(value:String):void
		{
			_ApplicationChannel = value;
		}

		public function get ApplicationVersion():String
		{
			return _ApplicationVersion;
		}

		public function set ApplicationVersion(value:String):void
		{
			_ApplicationVersion = value;
		}

		public function get UserId():String
		{
			return _UserId;
		}

		public function set UserId(value:String):void
		{
			_UserId = value;
		}

		public function get ConnectionType():String
		{
			return _ConnectionType;
		}

		public function set ConnectionType(value:String):void
		{
			_ConnectionType = value;
		}

		public function get IsRoaming():Boolean
		{
			return _IsRoaming;
		}

		public function set IsRoaming(value:Boolean):void
		{
			_IsRoaming = value;
		}

		public function get LocationSource():String
		{
			return _LocationSource;
		}

		public function set LocationSource(value:String):void
		{
			_LocationSource = value;
		}

		public function get LocationZ():Number
		{
			return _LocationAltitude;
		}

		public function set LocationZ(value:Number):void
		{
			_LocationAltitude = value;
		}

		public function get LocationY():Number
		{
			return _LocationLatitude;
		}

		public function set LocationY(value:Number):void
		{
			_LocationLatitude = value;
		}

		public function get LocationX():Number
		{
			return _LocationLongitude;
		}

		public function set LocationX(value:Number):void
		{
			_LocationLongitude = value;
		}

		public function get LocationAccuracy():Number
		{
			return _LocationAccuracy;
		}

		public function set LocationAccuracy(value:Number):void
		{
			_LocationAccuracy = value;
		}

		public function get Operator():String
		{
			return _Operator;
		}

		public function set Operator(value:String):void
		{
			_Operator = value;
		}

		public function get OperatorName():String
		{
			return _OperatorName;
		}

		public function set OperatorName(value:String):void
		{
			_OperatorName = value;
		}

		public function get CountryISO():String
		{
			return _CountryISO;
		}

		public function set CountryISO(value:String):void
		{
			_CountryISO = value;
		}

		public function get DeviceBrand():String
		{
			return _DeviceBrand;
		}

		public function set DeviceBrand(value:String):void
		{
			_DeviceBrand = value;
		}

		public function get DeviceMake():String
		{
			return _DeviceMake;
		}

		public function set DeviceMake(value:String):void
		{
			_DeviceMake = value;
		}

		public function get DeviceModel():String
		{
			return _DeviceModel;
		}

		public function set DeviceModel(value:String):void
		{
			_DeviceModel = value;
		}

		public function get Product():String
		{
			return _Product;
		}

		public function set Product(value:String):void
		{
			_Product = value;
		}

		public function get OperatingSystemVersion():String
		{
			return _OperatingSystemVersion;
		}

		public function set OperatingSystemVersion(value:String):void
		{
			_OperatingSystemVersion = value;
		}

		public function get DeviceVersion():String
		{
			return _DeviceVersion;
		}

		public function set DeviceVersion(value:String):void
		{
			_DeviceVersion = value;
		}

		public function get OperatorConnectionType():String
		{
			return _OperatorConnectionType;
		}

		public function set OperatorConnectionType(value:String):void
		{
			_OperatorConnectionType = value;
		}

		public function get SIM():String
		{
			return _SIM;
		}

		public function set SIM(value:String):void
		{
			_SIM = value;
		}

		public function get Events():Array
		{
			return _Events;
		}

		public function set Events(value:Array):void
		{
			_Events = value;
		}

		
		public function pushEvents(value:BangoEvent):void
		{
			_Events.push(value);
		}

	}
}